package com.kaoshi.myweb.webstruts.controller;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;

import com.opensymphony.xwork2.ActionContext;

/*
 * 获取执行action上下文信息
 */
public class ServletActionContextAction implements SessionAware, RequestAware {

	public void execute() {
//		1、ActionContext
//		ActionContext是Action执行时的上下文，上下文可以看作是一个容器（其实我们这里的容器就是一个Map而已），它存放的是Action在执行时需要用到的对象，比如：在使用Struts2时，我们的上下文放有请求的参数（Parameter）、
//		会话(Session)、Servlet上下文（ServletContext）、本地化（Locale）信息等。
		ActionContext actionContext = ActionContext.getContext();
		
//		2、ServletActionContext
//		 ServletActionContext，这个类直接继承了我们上面介绍的ActionContext，它提供了直接与JavaServlet相关对象访问的功能，它可以取得的对象有：
//		 （1）HttpServletRequest：HTTPservlet请求对象
//		 （2）HttpServletResponse：HTTPservlet相应对象
//		 （3）ServletContext：Servlet 上下文信息
//		 （4）ServletConfig：Servlet配置对象
//		 （5）PageContext：Http页面上下文
		HttpServletRequest request = ServletActionContext.getRequest();
		
		
		//3、实现相应的Aware接口，如需要获取HttpServletRequest对象，实现 RequestAware接口即可
	}
	
	
	@Override
	public void setRequest(Map<String, Object> request) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void setSession(Map<String, Object> session) {
		// TODO Auto-generated method stub
		
	}

}
